package cn.gbase.jiangsu.data.transfer.bean;

import java.math.BigDecimal;
import java.util.Date;

import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.Readonly;
import org.nutz.dao.entity.annotation.Table;
import org.nutz.dao.entity.annotation.View;

import cn.gbase.jiangsu.data.transfer.bean.BaseDto;
import cn.gbase.jiangsu.data.transfer.validation.annotation.Validations;

/**
 * 运营商与供应商的账目.
 * 
 */
@Table("operators_to_supplier_accounts")
@View("operators_to_supplier_accounts_view")
public class OperatorsToSupplierAccounts extends BaseDto {

	/**
	 * ID.
	 */
	@Column
	@Id
	private int id;

	/**
	 * 账期（如201408）.
	 */
	@Column("account_period")
	@Validations(required = true, strLen = { 1, 16 }, errorMsg = "账期应为1-16个字符。")
	private String accountPeriod;

	/**
	 * 供应商ID.
	 */
	@Column("supplier_id")
	@Validations(required = true, limit = { 1 }, errorMsg = "请选择供应商。")
	private int supplierId;
	
	/**
	 * 供应商名称.
	 */
	@Column("supplier_name")
	@Readonly
	private String supplierName;

	/**
	 * 待支付金额.
	 */
	@Column("to_paid")
	private BigDecimal toPaid;

	/**
	 * 已支付金额.
	 */
	@Column("has_paid")
	@Validations(required = true, limit = { 0 }, errorMsg = "请输入已支付金额。")
	private BigDecimal hasPaid;

	/**
	 * 未支付金额.
	 */
	@Column("un_paid")
	@Validations(required = true, limit = { 0 }, errorMsg = "请输入未支付金额。")
	private BigDecimal unPaid;

	/**
	 * 创建时间.
	 */
	@Column("create_time")
	private Date createTime;

	/**
	 * 创建人 .
	 */
	@Column("create_user")
	private int createUser;

	/**
	 * 备注 .
	 */
	@Column("remark")
	@Validations(required = false, strLen = { 0, 250 }, errorMsg = "备注应为250个字符以内。")
	private String remark;
	
	/**
	 * 逻辑删除Flag.
	 */
	@Column("delete_flag")
	private int deleteFlag;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getAccountPeriod() {
		return accountPeriod;
	}

	public void setAccountPeriod(String accountPeriod) {
		this.accountPeriod = accountPeriod;
	}

	public int getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(int supplierId) {
		this.supplierId = supplierId;
	}

	public BigDecimal getToPaid() {
		return toPaid;
	}

	public void setToPaid(BigDecimal toPaid) {
		this.toPaid = toPaid;
	}

	public BigDecimal getHasPaid() {
		return hasPaid;
	}

	public void setHasPaid(BigDecimal hasPaid) {
		this.hasPaid = hasPaid;
	}

	public BigDecimal getUnPaid() {
		return unPaid;
	}

	public void setUnPaid(BigDecimal unPaid) {
		this.unPaid = unPaid;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public int getCreateUser() {
		return createUser;
	}

	public void setCreateUser(int createUser) {
		this.createUser = createUser;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getSupplierName() {
		return supplierName;
	}

	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}

	public int getDeleteFlag() {
		return deleteFlag;
	}

	public void setDeleteFlag(int deleteFlag) {
		this.deleteFlag = deleteFlag;
	}

}
